﻿// 
// DotNetNuke® - http://www.dotnetnuke.com
// Copyright (c) 2002-2011
// by DotNetNuke Corporation
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in all copies or substantial portions 
// of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
// DEALINGS IN THE SOFTWARE.


using System;
using DotNetNuke;
using System.Data;

using DotNetNuke.Framework;

namespace Triax.Modules.ThongKeATLD
{
    /// -----------------------------------------------------------------------------
    /// <summary>
    /// An abstract class that provides the DAL contract
    /// </summary>
    /// <remarks>
    /// </remarks>
    /// <history>
    /// </history>
    /// -----------------------------------------------------------------------------
    public abstract class DataProvider
    {

        #region Shared/Static Methods

        // singleton reference to the instantiated object 
        static DataProvider objProvider = null;

        // constructor
        static DataProvider()
        {
            CreateProvider();
        }

        // dynamically create provider
        private static void CreateProvider()
        {
            objProvider = (DataProvider)Reflection.CreateObject("data", "Triax.Modules.ThongKeATLD", "");
        }

        public abstract IDataReader GetUsersByCond(int ModuleId, string Cond, string SQL);
        // return the provider
        public static DataProvider Instance()
        {
            return objProvider;
        }

        #endregion

        #region Abstract methods
        // Dơn vị hành chính
        public abstract void AddDonViHanhChinh(int ModuleId,

                                                string code,
                                                string title,
                                                int ParentId,
                                                string Description,
                                                double temp_double1,
                                                double temp_double2,
                                                string temp_string1,
                                                string temp_string2,
                                                string temp_string3,
                                                int temp_int1,
                                                int temp_int2,
                                                int temp_int3,
                                                int CreatedByUser,
                                                DateTime CreatedDate,
                                                int UpdatedByUser,
                                                DateTime UpdatedDate
            );
        public abstract IDataReader GetDonViHanhChinh(int ModuleId, int ItemId);
        public abstract IDataReader GetDonViHanhChinhs(int ModuleId);
        public abstract IDataReader GetDonViHanhChinhsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateDonViHanhChinh(int ModuleId,
                                                    int id,
                                                    string code,
                                                    string title,
                                                    int ParentId,
                                                    string Description,
                                                    double temp_double1,
                                                    double temp_double2,
                                                    string temp_string1,
                                                    string temp_string2,
                                                    string temp_string3,
                                                    int temp_int1,
                                                    int temp_int2,
                                                    int temp_int3,
                                                    int CreatedByUser,
                                                    DateTime CreatedDate,
                                                    int UpdatedByUser,
                                                    DateTime UpdatedDate

            );
        public abstract void DeleteDonViHanhChinh(int ModuleId, int ItemId);
        // End đơn vị hành chính

        // DonViKinhTeHCSN

        public abstract void AddDonViKinhTeHCSN(int ModuleId,

                                              
string code,
string title,
int ParentId,
string Description,
double temp_double1,
double temp_double2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

           );
        public abstract IDataReader GetDonViKinhTeHCSN(int ModuleId, int ItemId);
        public abstract IDataReader GetDonViKinhTeHCSNs(int ModuleId);
        public abstract IDataReader GetDonViKinhTeHCSNsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateDonViKinhTeHCSN(int ModuleId,
                                        int id,
                                    string code,
                                    string title,
                                    int ParentId,
                                    string Description,
                                    double temp_double1,
                                    double temp_double2,
                                    string temp_string1,
                                    string temp_string2,
                                    string temp_string3,
                                    int temp_int1,
                                    int temp_int2,
                                    int temp_int3,
                                    int CreatedByUser,
                                    DateTime CreatedDate,
                                    int UpdatedByUser,
                                    DateTime UpdatedDate
           
            );

        public abstract void DeleteDonViKinhTeHCSN(int ModuleId, int ItemId);

        // end DonViKinhTeHCSN

        // NgheNghiep

        public abstract void AddNgheNghiep(int ModuleId,


string code,
string title,
int ParentId,
string Description,
double temp_double1,
double temp_double2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

           );
        public abstract IDataReader GetNgheNghiep(int ModuleId, int ItemId);
        public abstract IDataReader GetNgheNghieps(int ModuleId);
        public abstract IDataReader GetNgheNghiepOthers();
        public abstract IDataReader GetNgheNghiepsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateNgheNghiep(int ModuleId,
                                        int id,
                                    string code,
                                    string title,
                                    int ParentId,
                                    string Description,
                                    double temp_double1,
                                    double temp_double2,
                                    string temp_string1,
                                    string temp_string2,
                                    string temp_string3,
                                    int temp_int1,
                                    int temp_int2,
                                    int temp_int3,
                                    int CreatedByUser,
                                    DateTime CreatedDate,
                                    int UpdatedByUser,
                                    DateTime UpdatedDate

            );

        public abstract void DeleteNgheNghiep(int ModuleId, int ItemId);
        // End nghe nghiep

        // Nguyen nhan chinh
        public abstract void AddNguyenNhanChinh(int ModuleId,


string code,
string title,

string Description,
double temp_double1,
double temp_double2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

          );
        public abstract IDataReader GetNguyenNhanChinh(int ModuleId, int ItemId);
        public abstract IDataReader GetNguyenNhanChinhs(int ModuleId);
        public abstract IDataReader GetNguyenNhanChinhsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateNguyenNhanChinh(int ModuleId,
                                        int id,
                                    string code,
                                    string title,

                                    string Description,
                                    double temp_double1,
                                    double temp_double2,
                                    string temp_string1,
                                    string temp_string2,
                                    string temp_string3,
                                    int temp_int1,
                                    int temp_int2,
                                    int temp_int3,
                                    int CreatedByUser,
                                    DateTime CreatedDate,
                                    int UpdatedByUser,
                                    DateTime UpdatedDate

            );

        public abstract void DeleteNguyenNhanChinh(int ModuleId, int ItemId);
        

        // End nguyen nhan chinh

        // Thong ke ATLD

        public abstract void AddThongKeATLD(int ModuleId,

int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
string Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

           );

        public abstract IDataReader AddThongKeATLD1(int ModuleId,

int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
string Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

           );
        public abstract IDataReader GetThongKeATLD(int ModuleId, int ItemId);
        public abstract IDataReader GetThongKeATLDs(int ModuleId);
        public abstract IDataReader GetThongKeATLDsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateThongKeATLD(int ModuleId,
                                        int ThongKeId,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
String Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

           
            );

        public abstract void DeleteThongKeATLD(int ModuleId, int ItemId);
        

        // ThongKeATLDCoSo

        public abstract void AddThongKeATLDCoSo(int ModuleId,


int ThongKeId,
string MaSo,
int TongSoCoSo,
int SoCoSoThamGiaBaoCao,
int TongSoLD,
int SoLDThamGiaBC,
int SoLDNu,
int SoVuTongSo,
int SoNguoiChet,
int SoNguoiBiThuongNang,
decimal TanXuatTNLD,
decimal TanXuatChet,
string GhiChu,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate


          );
        public abstract IDataReader GetThongKeATLDCoSo(int ModuleId, int ItemId);
        public abstract IDataReader GetThongKeATLDCoSos(int ModuleId);
        public abstract IDataReader GetThongKeATLDCoSosByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateThongKeATLDCoSo(int ModuleId,
                                        int Id,
int ThongKeId,
string MaSo,
int TongSoCoSo,
int SoCoSoThamGiaBaoCao,
int TongSoLD,
int SoLDThamGiaBC,
int SoLDNu,
int SoVuTongSo,
int SoNguoiChet,
int SoNguoiBiThuongNang,
decimal TanXuatTNLD,
decimal TanXuatChet,
string GhiChu,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate



            );

        public abstract void DeleteThongKeATLDCoSo(int ModuleId, int ItemId);
        // end ThongKeATLDCoSo

        // ThongKeATLDDetail
        public abstract void AddThongKeATLDDetail(int ModuleId,

int ThongKeId,
string MaSo,
int SoVuTongSo,
int SoVuCoNguoiChet,
int SoVuCo2NguoiBiNan,
int NguoiBiNanTongSo,
int NguoiBiNanSoLDNu,
int NguoiBiNanSoNguoiChet,
int NguoiBiNanNguoiBiThuongNang,
int ThietHaiTongSoNgayNghi,
double ThietHaiChiPhiTongSo,
double ThietHaiChiPhiYTe,
double ThietHaiTraLuong,
double ThietHaiBoiThuongTroCap,
double ThietHaiTaiSan,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate


          );
        public abstract IDataReader GetThongKeATLDDetail(int ModuleId, int ItemId);
        public abstract IDataReader GetThongKeATLDDetails(int ModuleId);
        public abstract IDataReader GetThongKeATLDDetailsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateThongKeATLDDetail(int ModuleId,
                                        int Id,
int ThongKeId,
string MaSo,
int SoVuTongSo,
int SoVuCoNguoiChet,
int SoVuCo2NguoiBiNan,
int NguoiBiNanTongSo,
int NguoiBiNanSoLDNu,
int NguoiBiNanSoNguoiChet,
int NguoiBiNanNguoiBiThuongNang,
int ThietHaiTongSoNgayNghi,
double ThietHaiChiPhiTongSo,
double ThietHaiChiPhiYTe,
double ThietHaiTraLuong,
double ThietHaiBoiThuongTroCap,
double ThietHaiTaiSan,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

            );

        public abstract void DeleteThongKeATLDDetail(int ModuleId, int ItemId);

        //end ThongKeATLDDetail


        // Yeu to chan thuong
        public abstract void AddYTGChanThuong(int ModuleId,


string code,
string title,
int ParentId,
string Description,
double temp_double1,
double temp_double2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

           );
        public abstract IDataReader GetYTGChanThuong(int ModuleId, int ItemId);
        public abstract IDataReader GetYTGChanThuongs(int ModuleId);
        public abstract IDataReader GetYTGChanThuongOthers();
        public abstract IDataReader GetYTGChanThuongsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateYTGChanThuong(int ModuleId,
                                        int id,
                                    string code,
                                    string title,
                                    int ParentId,
                                    string Description,
                                    double temp_double1,
                                    double temp_double2,
                                    string temp_string1,
                                    string temp_string2,
                                    string temp_string3,
                                    int temp_int1,
                                    int temp_int2,
                                    int temp_int3,
                                    int CreatedByUser,
                                    DateTime CreatedDate,
                                    int UpdatedByUser,
                                    DateTime UpdatedDate

            );
        public abstract void DeleteYTGChanThuong(int ModuleId, int ItemId);
        // Nghanh kinh te
        public abstract void AddNghanhKinhTe(int ModuleId,

                                               string code,
                                               string title,
                                               int ParentId,
                                               string Description,
                                               double temp_double1,
                                               double temp_double2,
                                               string temp_string1,
                                               string temp_string2,
                                               string temp_string3,
                                               int temp_int1,
                                               int temp_int2,
                                               int temp_int3,
                                               int CreatedByUser,
                                               DateTime CreatedDate,
                                               int UpdatedByUser,
                                               DateTime UpdatedDate
           );
        public abstract IDataReader GetNghanhKinhTe(int ModuleId, int ItemId);
        public abstract IDataReader GetNghanhKinhTes(int ModuleId);
        public abstract IDataReader GetNghanhKinhTeOthers();
        
        
        public abstract IDataReader GetNghanhKinhTesByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateNghanhKinhTe(int ModuleId,
                                                    int id,
                                                    string code,
                                                    string title,
                                                    int ParentId,
                                                    string Description,
                                                    double temp_double1,
                                                    double temp_double2,
                                                    string temp_string1,
                                                    string temp_string2,
                                                    string temp_string3,
                                                    int temp_int1,
                                                    int temp_int2,
                                                    int temp_int3,
                                                    int CreatedByUser,
                                                    DateTime CreatedDate,
                                                    int UpdatedByUser,
                                                    DateTime UpdatedDate

            );
        public abstract void DeleteNghanhKinhTe(int ModuleId, int ItemId);

        public abstract IDataReader GetDonViHanhChinhOthers();
        public abstract IDataReader GetNguyenNhanChinhOthers();
        public abstract IDataReader GetDonViKinhTeHCSNOthers();
        public abstract void DeleteCustomerNewcom(int ModuleId, int CustomerNewcomId);

        public abstract IDataReader GetSoVuTNLDReport(int loaibaocao, int namthongke);
        public abstract IDataReader GetTinhHinhTNLDReport(int loaibaocao, int namthongke);
        public abstract IDataReader GetSoSanhTinhHinhTNLDReport(int loaithoifian, int namthongke, int namcungky);
        public abstract IDataReader GetSoSanhTinhHinhTNLDDiaPhuongReport(int loaithoifian, int namthongke, int namcungky);
        public abstract IDataReader GetNgheNghiepTNLDReport(int loaibaocao, int namthongke);
        public abstract IDataReader GetGetYeuToChanThuongTNLDReport(int loaibaocao, int namthongke);
        public abstract IDataReader GetCongTacTKTNLDReport(int loaithoifian, int namthongke, int namcungky);
        public abstract IDataReader GetThietHaiTNLDReport(int loaithoifian, int namthongke, int namcungky);
        
        /////////////----------------

        
        public abstract void AddThongKeATLDCS(int ModuleId,


string TenDV,
string DiaChi,
string MaQuanHuyen,
string TenQuanHuyen,
string MaLoaiHinhDoanhNghiep,
string TenLoaiHinhDoanhNghiep,
string MaNganhKT,
string TenNganhKT,
int TongSoLDCoSo,
int SoLDNu,
double TongQuyLuong,
double TongSoNgayNghiTNLD,
double TongTienChiPhi,
double CSYte,
double CSTraLuong,
double CSBoiDuong_TroCap,
string NguoiBC,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
int Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate



          );
          
          public abstract IDataReader  AddThongKeATLDCS1(int ModuleId,


string TenDV,
string DiaChi,
string MaQuanHuyen,
string TenQuanHuyen,
string MaLoaiHinhDoanhNghiep,
string TenLoaiHinhDoanhNghiep,
string MaNganhKT,
string TenNganhKT,
int TongSoLDCoSo,
int SoLDNu,
double TongQuyLuong,
double TongSoNgayNghiTNLD,
double TongTienChiPhi,
double CSYte,
double CSTraLuong,
double CSBoiDuong_TroCap,
string NguoiBC,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
int Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate



          );
        public abstract IDataReader GetThongKeATLDCS(int ModuleId, int ItemId);
        public abstract IDataReader GetThongKeATLDCSs(int ModuleId);
        public abstract IDataReader GetThongKeATLDCSsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateThongKeATLDCS(int ModuleId,
                                        
int ThongKeId,
string TenDV,
string DiaChi,
string MaQuanHuyen,
string TenQuanHuyen,
string MaLoaiHinhDoanhNghiep,
string TenLoaiHinhDoanhNghiep,
string MaNganhKT,
string TenNganhKT,
int TongSoLDCoSo,
int SoLDNu,
double TongQuyLuong,
double TongSoNgayNghiTNLD,
double TongTienChiPhi,
double CSYte,
double CSTraLuong,
double CSBoiDuong_TroCap,
string NguoiBC,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
int Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

            );

        public abstract void DeleteThongKeATLDCS(int ModuleId, int ItemId);
        

        // bao cao nhanh
        public abstract void AddBaoCaoNhanh(int ModuleId,


string TenDV,
string DiaChi,
string MaQuanHuyen,
string TenQuanHuyen,
string MaLoaiHinhDoanhNghiep,
string TenLoaiHinhDoanhNghiep,
string MaNganhKT,
string TenNganhKT,
int TongSoLDCoSo,
int SoLDNu,
double TongQuyLuong,
double TongSoNgayNghiTNLD,
double TongTienChiPhi,
double CSYte,
double CSTraLuong,
double CSBoiDuong_TroCap,
string NguoiBC,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
int Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate



          );

        public abstract IDataReader AddBaoCaoNhanh1(int ModuleId,


string TenDV,
string DiaChi,
string MaQuanHuyen,
string TenQuanHuyen,
string MaLoaiHinhDoanhNghiep,
string TenLoaiHinhDoanhNghiep,
string MaNganhKT,
string TenNganhKT,
int TongSoLDCoSo,
int SoLDNu,
double TongQuyLuong,
double TongSoNgayNghiTNLD,
double TongTienChiPhi,
double CSYte,
double CSTraLuong,
double CSBoiDuong_TroCap,
string NguoiBC,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
int Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate



        );
        public abstract IDataReader GetBaoCaoNhanh(int ModuleId, int ItemId);
        public abstract IDataReader GetBaoCaoNhanhs(int ModuleId);
        public abstract IDataReader GetBaoCaoNhanhsByCond(int ModuleId, string cond, string sql);
        public abstract void UpdateBaoCaoNhanh(int ModuleId,

int ThongKeId,
string TenDV,
string DiaChi,
string MaQuanHuyen,
string TenQuanHuyen,
string MaLoaiHinhDoanhNghiep,
string TenLoaiHinhDoanhNghiep,
string MaNganhKT,
string TenNganhKT,
int TongSoLDCoSo,
int SoLDNu,
double TongQuyLuong,
double TongSoNgayNghiTNLD,
double TongTienChiPhi,
double CSYte,
double CSTraLuong,
double CSBoiDuong_TroCap,
string NguoiBC,
int LoaiThoiGianThongKe,
int LoaiChiTieuThongKe,
int MaTinhThongKe,
int NamThongKe,
string Creator,
DateTime Created,
int Modifier,
DateTime Modified,
int StatusId,
int LoaiThongKe,
double temp_dou1,
double temp_dou2,
string temp_string1,
string temp_string2,
string temp_string3,
int temp_int1,
int temp_int2,
int temp_int3,
int CreatedByUser,
DateTime CreatedDate,
int UpdatedByUser,
DateTime UpdatedDate

            );

        public abstract void DeleteBaoCaoNhanh(int ModuleId, int ItemId);

        //public abstract IDataReader GetBaoCaoNhanhsByCond(int ModuleId, string cond, string sql);
        public abstract IDataReader GetTongHopBaoCaoNhanh(string cond, string sql);
        public abstract IDataReader GetTongHopBaoCaoNhanhOrder(string cond, string sql, string order);
        public abstract IDataReader getSelectDetailTonghopBCNN(int ModuleId, int cond, int sql);
        public abstract IDataReader getSelectDetailTonghopBC(int ModuleId, int cond, int sql);
        public abstract IDataReader getSelectDetailTonghopBC5(int ModuleId, int cond, int sql);
        public abstract IDataReader getSelectDetailTonghopBC51(int ModuleId, int cond, int sql);
        public abstract IDataReader getSelectDetailTonghopBC5_SUM(int ModuleId, int cond, int sql);
        public abstract IDataReader Tonghopthiethai(int ModuleId, int cond, int sql);
        
        public abstract IDataReader getSelectDetailTonghopBC51_SUM(int ModuleId, int cond, int sql);
        public abstract IDataReader getSelectDetailTonghopBCNgheNghiep(int ModuleId, int cond, int sql);
        public abstract IDataReader getSelectDetailTonghopBCYTCT(int ModuleId, int cond, int sql);
        public abstract IDataReader getTKTNLDDetailAllReport(int LoaiThoiGianThongKe, string  NamThongKe, int LoaiChiTieuThongKe,string MaTinhThongKe);
        
        
        #endregion

    }
}
